草庐IT

序列化器 Serializer

全部标签

c# - Protobuf-Net 错误消息 : No Serializer defined for type: System. 类型

我在尝试序列化List>时收到以下错误消息:没有为类型定义序列化器:System.Type我都试过了,只是序列化上述集合或序列化一个类,该类具有定义为protoMember的相同集合。两者都会导致相同的错误消息。这是不受支持的类型吗?我认为它是受支持的,但我忽略了其他一些东西,但也许我不正确?感谢任何可能有助于解决此问题的指示... 最佳答案 编辑:r580中包含对Type序列化的支持protobuf-net旨在序列化您的数据,而不是您的实现;Type是一个实现细节。严格来说,添加起来并不难(一些特定于实现的细节实际上已经通过程序集

c# - 每种类型的自定义 Json.NET 序列化程序设置

我正在使用ApiController,它使用全局HttpConfiguration类来指定JsonFormatter设置。我可以很容易地按如下方式全局设置序列化设置:config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling=PreserveReferencesHandling.Objects;问题是并非所有设置都适用于我项目中的所有类型。我想为执行多态序列化的特定类型指定自定义TypeNameHandling和Binder选项。如何在每个类型或至少在每个ApiController的基础上指

c# - Newtonsoft.Json.JsonSerializationException(从“System.Data.SqlTypes.SqlDouble”上的 'Value' 获取值时出错)序列化 SqlGeography

我尝试在数据库SQLServer2012中使用Newtonsoft.Json版本“Newtonsoft.Json.10.0.3”将DataTable对象序列化为Json。该表有一个类型为“geography”的列,其中包含类型为SqlGeography的实例.用于生成json的代码:publicstringSerializeToJson(){varconnstring1="DataSource=server1;InitialCatalog=database1;user=xxx;password=yyy";varsql="SELECT*FROMtable_1";//table_1hasa

c# - 如何将 JSON 反序列化为正确类型的对象,而无需事先定义类型?

我搜索了类似的问题,但找不到与我要查找的内容完全匹配的内容。C#新手,请多多包涵。我有一些正在反序列化的json文件。我希望文件反序列化为正确类型的对象,而不必事先定义类型。这是我的代码:publicclassloadJson{//pathofthefilelocationpublicvoidreadJson(stringpath){//arrayoffilesatthepathlocation.rightnowjustreadingonefileFileInfo[]files=newDirectoryInfo(path).GetFiles("seleniumExample.json"

c# - 反序列化不适用于 MemoryStream

//SerializetheObjectMemoryStreamms=newMemoryStream();IFormatterformatter=newBinaryFormatter();formatter.Serialize(ms,ObjectToSerialize);byte[]arrbyte=newbyte[ms.Length];ms.Read(arrbyte,0,(int)ms.Length);ms.Close();//DeserializetheObjectStreams=newMemoryStream(arrbyte);s.Position=0;Objectobj=form

c# - 如何在没有第三方库的情况下序列化对象+压缩然后解压+反序列化?

我在内存中有一个大对象,我想将其作为blob保存到数据库中。我想在保存之前压缩它,因为数据库服务器通常不在本地。这是我目前拥有的:using(varmemoryStream=newMemoryStream()){using(vargZipStream=newGZipStream(memoryStream,CompressionMode.Compress)){BinaryFormatterbinaryFormatter=newBinaryFormatter();binaryFormatter.Serialize(gZipStream,obj);returnmemoryStream.ToA

c# - JSON 反序列化为构造的 protected setter 数组

我使用NewtonsoftJSON序列化/反序列化我的对象。其中之一包含一个带有protectedsetter的数组,因为构造函数会自行构建数组,并且只有成员会被操作。这可以毫无问题地序列化,但是当涉及到反序列化时,它会被忽略,因为它不是公共(public)的。我尝试了一个自定义转换器,它也没有被调用,因为它不是公开的。这是一个最小化的例子:publicstaticclassTestCoordsDeserialization{privateclassCoords{publicDoubleX{get;set;}publicDoubleY{get;set;}publicDoubleZ{ge

c# - 使用 ServiceStack.Text 将 json 字符串反序列化为对象

我有一个JSON字符串,如下所示:"{\"Id\":\"fb1d17c7298c448cb7b91ab7041e9ff6\",\"Name\":\"John\",\"DateOfBirth\":\"\\/Date(317433600000-0000)\\/\"}"我正在尝试将其反序列化为对象(我正在实现一个缓存接口(interface))我遇到的麻烦是当我使用JsonSerializer.DeserializeFromString(jsonString);它回来了"{Id:6ed7a388b1ac4b528f565f4edf09ba2a,Name:John,DateOfBirth:/D

c# - 具有多态子对象的类型的 Json.Net 序列化

我们希望能够从/向C#类序列化/反序列化json,主类具有多态子对象的实例。使用Json.Net的TypeNameHandling.Auto设置很容易做到这一点。但是,我们希望在没有“$type”字段的情况下这样做。第一个想法是能够将“$type”重命名为我们选择的值,并使该类型的值成为一个可以正确映射子类型的枚举。我还没有将其视为一种选择,但很高兴听到它是否可行。第二个想法是沿着以下几行……下面是类的第一次传递,顶级类有一个指示符(SubTypeType),指示子对象(SubTypeData)中包含什么类型的数据。我深入研究了Json.Net文档并尝试了一些方法,但没有成功。我们目前

c# - C# 中的 JSON 反序列化是如何工作的

我正在尝试了解如何JsonConvert.DeserializeObject(someJsonString)能够使用构造函数设置值。usingNewtonsoft.jsonpublicclassX{[JsonProperty("some_Property")]publicstringSomeProperty{get;}[JsonProperty("some_Property_2")]publicstringSomeProperty2{get;}publicX(stringsomeProperty,stringsomeProperty2){SomeProperty=somePropert